iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0
Security

前端小廢物誤入 Hackthebox Module系列 第 23

初探 Windows 管理工具 (WMI)

  • 分享至 

  • xImage
  •  

WMI 簡介

WMI 是 PowerShell 的一個子系統,為系統管理員提供了強大的系統監控工具。

WMI 的目標是整合跨企業網路的設備和應用程序管理。WMI 是 Windows 作業系統的核心組成部分,自 Windows 2000 起便已預裝。

WMI 由以下組件構成:

組件名稱 說明
WMI 服務 Windows Management Instrumentation 進程,自動在啟動時運行,充當 WMI 提供者、WMI 存儲庫和管理應用之間的中介。
管理物件 任何可以由 WMI 管理的邏輯或物理組件。
WMI 提供者 監控與特定物件相關的事件/數據的物件。
類別 WMI 提供者用來將數據傳遞給 WMI 服務的對象。
方法 附加到類別並允許執行操作。例如,方法可以用來啟動/停止遠程機器上的進程。
WMI 存儲庫 存儲與 WMI 相關的所有靜態數據的資料庫。
CIM 物件管理器 從 WMI 提供者請求數據並將其返回給應用程式的系統。
WMI API 使應用程式能夠訪問 WMI 基礎架構。
WMI 消費者 通過 CIM 物件管理器向物件發送查詢。

WMI 用途

一些用途包括:

  • 本地/遠程系統的狀態資訊

  • 配置遠程機器/應用程式的安全設置

  • 設定和更改用戶和群組的許可權

  • 設定/修改系統屬性

  • 執行代碼

  • 排程進程

  • 設置日誌記錄

這些任務可以通過結合 PowerShell 和 WMI 命令行界面 (WMIC) 來完成。

可以通過在 Windows 命令提示字元中輸入 WMIC 打開一個互動式 shell 或直接運行命令,如 wmic computersystem get name 來獲取主機名稱。

如果想知道更多,可以輸入 WMIC /? 可以查看 WMIC 命令和別名的列表。

例如,以下命令列出了操作系統的信息:

C:\htb> wmic os list brief

BuildNumber  Organization  RegisteredUser  SerialNumber             SystemDirectory      Version
19041                      Owner           00123-00123-00123-AAOEM  C:\Windows\system32  10.0.19041

WMIC 使用別名及相關的動詞、副詞和開關。

上面的命令例子使用 LIST 顯示數據,並使用副詞 BRIEF 提供核心屬性。可以在這裡查看動詞、開關和副詞的詳細列表。

WMI 可以使用 PowerShell 的 Get-WmiObject 模組來使用,該模組用於獲取 WMI 類別的實例或可用類別的資訊,可以在本地或遠程機器上使用。

以下命令獲取操作系統的資訊:

PS C:\htb> Get-WmiObject -Class Win32_OperatingSystem | select SystemDirectory,BuildNumber,SerialNumber,Version | ft

我們還可以使用 Invoke-WmiMethod 模組來調用 WMI 物件的方法。以下是一個重命名文件的簡單例子:

PS C:\htb> Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\users\public\spns.csv'" -Name Rename -ArgumentList "C:\Users\Public\kerberoasted_users.csv"

今日心得

明天繼續研究 WMI?

但其實下一篇是 WSL

參考資源

https://academy.hackthebox.com/


上一篇
PowerShell & Cmdlets 的關係
下一篇
初探 WSL
系列文
前端小廢物誤入 Hackthebox Module31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言